﻿// -----------------------------------------------------------------------
// <copyright file="ITimelineDataProvider.cs" company="EPAM Systems">
////Copyright (c) EPAM Systems. All rights reserved.
// </copyright>
// -----------------------------------------------------------------------

namespace Epam.PhotoGallery.Interfaces.Providers
{
	using System.Collections.Generic;
	using Epam.PhotoGallery.Interfaces.DataTransferObjects;

	/// <summary>
	/// The interface ITimlineDataProvider 
	/// </summary>
	public interface ITimelineDataProvider
	{
		/// <summary>
		/// Gets the available albums.
		/// </summary>
		/// <param name="rootPath">The root path.</param>
		/// <returns>
		/// Return IEnumerable<TimeItem>.
		/// </returns>
		IEnumerable<TimeItem> GetAvailableAlbums(string rootPath);
		
		/// <summary>
		/// Gets the available cover.
		/// </summary>
		/// <param name="rootPath">The root path.</param>
		/// <returns>
		/// Return start cover for gallery.
		/// </returns>
		TimeItem GetCover(string rootPath);

		/// <summary>
		/// Gets the images for album.
		/// </summary>
		/// <param name="rootPath">The root path.</param>
		/// <returns>
		/// Return IEnumerable<GalleryImage> for current album.
		/// </returns>
		IEnumerable<GalleryImage> GetImagesForAlbum(string rootPath); 
	}
}
